﻿

namespace Mulala.Cavan.Domain.MainBoundedContext.Setting
{
    using System;
    using System.Collections.Generic;
    using System.Diagnostics.Contracts;
    using System.Linq;
    using Mulala.Cavan.Core.Settings;
using Mulala.Cavan.Domain.MainBoundedContext.DictionaryModule;

    /// <summary>
    ///     Append Project base settings here (and in the implementor e.g. class ProjectSettings).
    ///     Extend the Project.config 'project/project' section with new 
    ///     'Add' element with the 'Key/Value' pair - where the Key equals to the Property name.
    ///     Access these settings anywhere in the application:
    ///     'Project.Settings.MyProperty....'
    /// </summary>
    public interface IProjectSettings : IBaseSettings
    {
        /// <summary>
        ///     Production, Test, Development 
        ///     (NOTE: this is just an example)
        /// </summary>
        string Environment { get; }

        int DefaultBidCount { get; }

        int DefaultConsignValidMonth { get; }

        int DefaultScore { get; }

        int DefaultProprietorExperience { get; }

        int DefaultNannyExperience { get; }

        int DefaultCorporationExperience { get; }

        int DefaultLiveness { get; set; }

        int DefaultAskCount { get; set; }

        int DefaultAnswerCount { get; set; }

        int DefaultAcceptedCount { get; set; }

        string DefaultInfo { get; set; }

        Area DefaultArea { get; set; }

        int GoodCorporationCommentStandard { get; set; }

        int GoodNannyCommentStandard { get; set; }

        int DefaultCorporationNewViewTotal { get; set; }

        bool IsFree { get; set; }

        int DefaultRecommendDuration { get; set; }

        int DefaultNannyDiaryViewTotal { get; set; }

        int FreeDuration { get; set; }

        int RecommendNannyAmount { get; set; }

        int SystemRecommendNannyAmount { get; set; }

        int GreateNannyAmount { get; set; }

        int SameCorporationNannyAmount { get; set; }

        int SimilarNannyAmount { get; set; }

        int TopClickNannyAmount { get; set; }

        int SystemRecommendCorporationAmount { get; set; }

        int TopClickCorporationAmount { get; set; }

        int SimilarCorporationAmount { get; set; }

        int TopNannyCommentAmount { get; set; }

        int TopCorporationCommentAmount { get; set; }

        string DefaultAvatarUrl { get; set; }

        string DefaultLogoUrl { get; set; }

        string DefaultLogoForEditUrl { get; set; }

        string DefaultAvatarForEditUrl { get; set; }

        int CorporationPhotoMaxAmount { get; set; }

        int SystemRecommendConsignAmount { get; set; }

        int PopularProprietorAmount { get; set; }

        int RecentNoticeAmount { get; set; }

        string MulalaHistoryCookieName { get; set; }

        int HistoryNannyAmount { get; set; }

        int HistoryCorporationAmount { get; set; }

        string DefaultTime { get; set; }

        int RecentNannyBiddingConsign { get; set; }

        int RecentCorporationBiddingConsign { get; set; }

        int RecentProprietorBiddedConsign { get; set; }

        int HotCorporationCount { get; set; }

        int StartAreaCount { get; set; }

        int GoldMinScore { get; set; }

        int GoldMaxScore { get; set; }

        int GoldNannyAmount { get; set; }

        int GoldCorporationAmount { get; set; }

        int HomeNoticeAmount { get; set; }

        int NormalUserAccountMaxScore { get; set; }

        int BronzeUserAccountMaxScore { get; set; }

        int SilverUserAccountMaxScore { get; set; }

        int GoldUserAccountMaxScore { get; set; }

        int DiamondUserAccountMaxScore { get; set; }

        string BronzeUserAccountIcon { get; set; }

        string SilverUserAccountIcon { get; set; }

        string GoldUserAccountIcon { get; set; }

        string DiamondUserAccountIcon { get; set; }

        int CorporationOneLevelMaxExperience { get; set; }

        int CorporationTwoLevelMaxExperience { get; set; }

        int CorporationTreeLevelMaxExperience { get; set; }

        int CorporationFourLevelMaxExperience { get; set; }

        int CorporationFiveLevelMaxExperience { get; set; }

        int NannyOneLevelMaxExperience { get; set; }

        int NannyTwoLevelMaxExperience { get; set; }

        int NannyTreeLevelMaxExperience { get; set; }

        int NannyFourLevelMaxExperience { get; set; }

        int NannyFiveLevelMaxExperience { get; set; }

        string ExperienceIcon { get; set; }
    }
}